      SUBROUTINE  CHODGE(M,C,NX,Y,IPO)                                  00010000
      IMPLICIT  COMPLEX*16(A-H,O-Z)                                     00020000
CCCCC --------ESTIMATION OF THE SPHEROIDAL EIGENVALUES FOR COMPLEX 'C'--00030000
C             MATRIX METHOD BY D.B.HODGE(1970)                          00040000
C             THE EIGEN-MATRIX IS SOLVED BY THE QR-METHOD               00050000
C             REQUIRED SUBROUTINE   -   DEIGQR                          00060000
CCCCC ------------------------REVISED FROM <CMATR> IN 1978 -------------00060010
      PARAMETER (NMX=70, NMX2=140)                                      00070000
      DIMENSION Y(1),D(NMX),E(NMX),F(NMX),QQ(NMX,NMX),EIG(NMX),         00080000
     *          H(NMX2,1),DUMY(NMX),IDUMY(NMX)                          00090000
      A(M,NR,X)=(2.*M+NR+2.)*(2.*M+NR+1.)/(2.*M+2.*NR+3.)/              00100000
     *          (2.*M+2.*NR+5.)*X                                       00110000
      B(M,NR,X)=(2.*(M+NR)*(M+NR+1.)-2.*M*M-1.)*X/(2.*M+2.*NR-1.)/      00120000
     *          (2.*M+2.*NR+3.)+(M+NR)*(M+NR+1.)                        00130000
      CN(M,NR,X)=NR*(NR-1.)*X/(2.*M+2.*NR-3.)/(2.*M+2.*NR-1.)           00140000
C                                                                       00141002
      N=NX+CDABS(C)                                                     00150000
      NL=(N+2)/2                                                        00160000
      CC=C*C                                                            00170000
      IF(IPO.EQ.-1) CC=-1.D0*C*C                                        00180001
      IS=0                                                              00190000
      IF(NL.LE.60) GO TO 5                                              00200000
      PRINT  100                                                        00210000
      RETURN                                                            00220000
  100 FORMAT('SUBROUTINE  CHODGE  RETURNED WITHOUT CALCULATIONS' )      00230000
    5 CONTINUE                                                          00240000
      DO 1 I=1,NL                                                       00250000
      EIG(I)=(0.D0,0.D0)                                                00260000
      DO 1 J=1,NL                                                       00270000
    1 QQ(I,J)=(0.D0,0.D0)                                               00280000
      DO 10 I=1,NL                                                      00290000
      I2=2*(I-1)+IS                                                     00300000
      D(I)=CN(M,I2,CC)                                                  00310000
      E(I)=B(M,I2,CC)                                                   00320000
      F(I)=A(M,I2,CC)                                                   00330000
   10 CONTINUE                                                          00340000
      QQ(1,1)=E(1)                                                      00350000
      QQ(1,2)=CDSQRT(D(2)*F(1))                                         00360000
      DO 20 K=2,NL                                                      00370000
      QQ(K,K-1)=QQ(K-1,K)                                               00380000
      QQ(K,K)=E(K)                                                      00390000
      IF(K.EQ.NL) GO TO 20                                              00400000
      QQ(K,K+1)=CDSQRT(D(K+1)*F(K))                                     00410000
   20 CONTINUE                                                          00420000
C                                                                       00421002
      CALL  DEIGQR(QQ,NL,NMX,H,NMX2,0,DUMY,IDUMY,EIG,IER)               00430002
C                                                                       00440002
      DO 30 I=1,NL                                                      00441002
      AMIN=EIG(I)                                                       00450000
      IF(I.EQ.NL) GO TO 30                                              00460000
      DO 35 K=I+1,NL                                                    00470000
      IF(DREAL(AMIN-EIG(K))) 35,35,33                                   00480000
   33 ZZ=EIG(K)                                                         00490000
      EIG(K)=AMIN                                                       00500000
      AMIN=ZZ                                                           00510000
   35 CONTINUE                                                          00520000
      EIG(I)=AMIN                                                       00530000
   30 CONTINUE                                                          00540000
      LL=1+IS                                                           00550000
      DO 40 I=1,NL                                                      00560000
      IF(LL.GT.NX+1) GO TO 45                                           00570000
      Y(LL)=EIG(I)                                                      00580000
      LL=LL+2                                                           00590000
   40 CONTINUE                                                          00600000
   45 IF(IS.EQ.1) GO TO 50                                              00610000
      IS=1                                                              00620000
      GO TO 5                                                           00630000
   50 CONTINUE                                                          00640000
      RETURN                                                            00650000
      END                                                               00660000
